let express = require("express");
// let ejs = require("ejs");
// let mysql = require("mysql");
let router = express.Router();

//加载数据库配置
let db = require("../model/db");

//解析表单的获取值
router.use(express.urlencoded({ extended: false }));


// let config = {
//     host: "localhost",//数据库连接地址
//     port: 3306,//数据库连接端口
//     user: "root",//数据库用户名
//     password: "root",//数据库密码
//     database: "student",//选择要操作的库房
// }
// let connection = mysql.createConnection(config);
// connection.connect((err) => {
//     if (err) {
//         console.log("数据库连接失败")
//     } else {
//         console.log("数据库连接成功")
//     }
// })

//规划路由，渲染首页
// router.get("/index", (req, res) => {
//     let sql = `select * from stu_student`;
//     connection.query(sql, (err, doc) => {
//         if (err) {
//             console.log("查询失败")
//         } else {
//             //console.log(doc);
//             //doc 数据发送给前端
//             res.render("index.html", { doc: doc })
//         }
//     })
// })

router.get("/index", async (req, res) => {
    //err 成功或者失败  
    //data 查询出来的数据
    let sql = `select * from stu_student`;
    let [err, data] = await db.query(sql);
    console.log(data);
    if (err) {
      res.send({ "code": "400", "mag": "查询失败" })
    } else {
      res.send({ "code": "200", "mag": "查询成功", data: data })
    }
  })

//渲染添加页面
router.get("/add", (req, res) => {
    res.render("add.html")
})

// router.post("/add",(req,res)=>{

// })

// 处理表单提交
router.post("/add", async (req, res) => {
    //获取表单中提交数据
    //console.log(req.body);
    // res.redirect("/index.html")
    // return
    let { name, sex, age } = req.body; 
    console.log(name, sex, age );
    if(name&&sex&&age){
        let sql = `insert into stu_student (name,sex,age) value ("${name}","${sex}",${age})`;
        let [err, data] = await db.query(sql);
        if (err) {
            res.send({ "code": "400", "mag": "添加失败" })
          } else {
            console.log("success")
            res.send({ "code": "200", "mag": "index.html" })
          }
    }else{
        console.log(222)
        res.send({ "code": "400", "mag": "添加失败" })
    }
    //上面获取表单的数据添加数据库中

   
})


//删除功能
router.get("/del", (req, res) => {
    //res.send("进入")
    //console.log(req.query.id);
    let id = req.query.id;
    let sql = `delete from stu_student where id=${id}`;
    // console.log(sql);
    //执行sql语句
    connection.query(sql, (err) => {
        if (err) {
            // console.log(err);
            // console.log(req.query.id);
            //res.redirect("/index");
            res.render("wait.html", {
                wait: 2,//等待2秒
                content: "删除失败",//提示内容
                href: "/index",//跳转路由  
            })
        } else {
            //res.redirect("/index");
            res.render("wait.html", {
                wait: 2,//等待2秒
                content: "删除成功",//提示内容
                href: "/index",//跳转路由  
            })
        }
    })
})

//渲染修改页面
router.get("/update", (req, res) => {
    //根据id查询对应数据 
    let id = req.query.id;
    let sql = `select * from stu_student where id=${id}`;
    //res.render("edit.html")
    //执行sql语句
    connection.query(sql, (err, result) => {
        if (err) {
            // console.log(err);
            res.render("wait.html", {
                wait: 2,//等待2秒
                content: "查询失败",//提示内容
                href: "/update",//跳转路由  
            })
        } else {
            //console.log(result);
            res.render("edit.html", { result: result })
        }
    })

})

//处理修改后的数据
router.post("/update", (req, res) => {
    //获取文本框输入的值
    let { id, name, sex, age } = req.body;
    //console.log(id, 11111);
    let sql = `update stu_student set name="${name}",sex="${sex}",age=${age} where id=${id}`;
    //执行sql语句
    connection.query(sql, (err, result) => {
        if (err) {
            // console.log(err);
            // console.log(id, name, sex, age );
            res.render("wait.html", {
                wait: 2,//等待2秒
                content: "修改失败",//提示内容
                href: "/update",//跳转路由  
            })
        } else {
            //console.log(result);
            res.render("wait.html", {
                wait: 2,//等待2秒
                content: "修改成功",//提示内容
                href: "/index",//跳转路由  
            })
        }
    })

})

module.exports = router;